package com.example.agent_springai.entity.query;

import lombok.Data;
import org.springframework.ai.tool.annotation.ToolParam;

@Data
public class ModuleQuery {

    /**
     * 是否需要发电机查询功能，布尔类型，默认为false
     * 当用户提到发电机、温度相关内容时，认为是发电机问题，需设置为true
     */
    @ToolParam(required = false, description = "是否需要发电机查询功能，布尔类型，默认为false。当用户提到发电机、温度相关内容时，需设置为true")
    private Boolean needSelect = false;

    /**
     * 是否需要机械臂查询功能，布尔类型，默认为false
     * 机械臂故障诊断不需要机械臂查询；当用户提到机械臂、轴参数等内容时，需设置为true
     */
    @ToolParam(required = false, description = "是否需要机械臂查询功能，布尔类型，默认为false。机械臂故障诊断不需要设置为true；当用户提到机械臂、轴参数等内容时，需设置为true")
    private Boolean needChainlooseSelect = false;

    /**
     * 是否需要预测功能，布尔类型，默认为false
     */
    @ToolParam(required = false, description = "是否需要预测功能，布尔类型，默认为false")
    private Boolean needPredict = false;

    /**
     * 是否需要故障诊断功能，布尔类型，默认为false
     */
    @ToolParam(required = false, description = "是否需要故障诊断功能，布尔类型，默认为false")
    private Boolean needDiagnose = false;

    /**
     * 是否需要生成图表，布尔类型，默认为false
     */
    @ToolParam(required = false, description = "是否需要生成图表，布尔类型，默认为false")
    private Boolean needEChart = false;

    /**
     * 是否为花卉相关问题，布尔类型，默认为false
     * 当用户提到花卉、植株以及它们的参数（土壤温度、土壤湿度、空气温度、空气湿度、二氧化碳浓度、土壤EC值、光照强度）时，需设置为true
     */
    @ToolParam(required = false, description = "是否为花卉相关问题，布尔类型，默认为false。当用户提到花卉、植株及相关参数（土壤温度、土壤湿度、空气温度、空气湿度、二氧化碳浓度、土壤EC值、光照强度）时，需设置为true")
    private Boolean isFlowerProblem = false;
}